<?php
/**
 *  QueryList使用示例
 *  
 * 入门教程:http://doc.querylist.cc/site/index/doc/4
 * 
 * QueryList::Query(采集的目标页面,采集规则[,区域选择器][，输出编码][，输入编码][，是否移除头部])
* //采集规则
* $rules = array(
*   '规则名' => array('jQuery选择器','要采集的属性'[,"标签过滤列表"][,"回调函数"]),
*   '规则名2' => array('jQuery选择器','要采集的属性'[,"标签过滤列表"][,"回调函数"]),
*    ..........
*    [,"callback"=>"全局回调函数"]
* );
 */

require 'vendor/autoload.php';

use QL\QueryList;


header("Content-type:text/html;charset=utf-8");
/*************************************************/

//HTTP操作扩展
$url = QueryList::Query('http://mini.eastday.com/joke.html',array(
    'link' => array('a','href','-i',function($content){
        //利用回调函数补全相对链接
        $baseUrl = 'http://mini.eastday.com';
        return $baseUrl.$content;
    })),'.main_item_cnt #hoursListNews li:lt(7)')->getData(function($item){
    return $item['link'];
});
//打印结果
echo '<pre>';

//多线程扩展
QueryList::run('Multi',[
    'list' => $url,
    'curl' => [
        'opt' => array(
            CURLOPT_SSL_VERIFYPEER => false,
            CURLOPT_SSL_VERIFYHOST => false,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_AUTOREFERER => true,
        ),
        //设置线程数
        'maxThread' => 100,
        //设置最大尝试数
        'maxTry' => 3
    ],
    'success' => function($a){
        //采集规则
        $reg = array(
            //采集文章标题
            'title' => array('h1>span','text'),
            'image' => array('img','data-url','',function($content){
                //用回调函数进一步过滤出日期
                $baseUrl = 'http:';
                return $baseUrl.$content;
            }),
            //采集文章发布日期,这里用到了QueryList的过滤功能，过滤掉span标签和a标签
        );
        $rang = '.detail_left_cnt';
        $ql = QueryList::Query($a['content'],$reg,$rang);
        $data = $ql->getData();
//        $data = $ql->getData(){
////            return $item['title'];
//        });

        //打印结果，实际操作中这里应该做入数据库操作
//        echo '<pre>';

        print_r($data[0]);

    }
]);



?>
